package com.tinycloud.miracll.product.service.impl;

import java.util.List;

import com.tinycloud.common.datasource.annotation.Slave3;
import com.tinycloud.common.datasource.annotation.Slave4;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.tinycloud.miracll.product.mapper.ProductApsScheduleDataMapper;
import com.tinycloud.miracll.product.domain.ProductApsScheduleData;
import com.tinycloud.miracll.product.service.IProductApsScheduleDataService;

/**
 * 排产数据Service业务层处理
 * 
 * @author tiny
 * @date 2022-06-08
 */
@Service
@Slave3
public class ProductApsScheduleDataServiceImpl implements IProductApsScheduleDataService {
    @Autowired
    private ProductApsScheduleDataMapper productApsScheduleDataMapper;

    /**
     * 查询排产数据
     * 
     * @param rowNum 排产数据主键
     * @return 排产数据
     */
    @Override
    public ProductApsScheduleData selectProductApsScheduleDataByRowNum(Long rowNum) {
        return productApsScheduleDataMapper.selectProductApsScheduleDataByRowNum(rowNum);
    }

    /**
     * 查询排产数据列表
     * 
     * @param productApsScheduleData 排产数据
     * @return 排产数据
     */
    @Override
    public List<ProductApsScheduleData> selectProductApsScheduleDataList(ProductApsScheduleData productApsScheduleData) {
        return productApsScheduleDataMapper.selectProductApsScheduleDataList(productApsScheduleData);
    }


    /**
     * 查询月份最大排产编号
     *
     * @param scheduleMouth  排产月份  2206
     * @return 排产数据集合
     */
    @Override
    public String selectProductApsScheduleDataMaxMouth(String scheduleMouth) {
        return productApsScheduleDataMapper.selectProductApsScheduleDataMaxMouth(scheduleMouth);
    }

    /**
     * 新增排产数据
     * 
     * @param productApsScheduleData 排产数据
     * @return 结果
     */
    @Override
    public int insertProductApsScheduleData(ProductApsScheduleData productApsScheduleData) {
        return productApsScheduleDataMapper.insertProductApsScheduleData(productApsScheduleData);
    }

    /**
     * 修改排产数据
     * 
     * @param productApsScheduleData 排产数据
     * @return 结果
     */
    @Override
    public int updateProductApsScheduleData(ProductApsScheduleData productApsScheduleData) {
        return productApsScheduleDataMapper.updateProductApsScheduleData(productApsScheduleData);
    }

    /**
     * 批量删除排产数据
     * 
     * @param rowNums 需要删除的排产数据主键
     * @return 结果
     */
    @Override
    public int deleteProductApsScheduleDataByRowNums(Long[] rowNums) {
        return productApsScheduleDataMapper.deleteProductApsScheduleDataByRowNums(rowNums);
    }

    /**
     * 删除排产数据信息
     * 
     * @param rowNum 排产数据主键
     * @return 结果
     */
    @Override
    public int deleteProductApsScheduleDataByRowNum(Long rowNum) {
        return productApsScheduleDataMapper.deleteProductApsScheduleDataByRowNum(rowNum);
    }

    /**
     * 删除排产数据信息
     *
     * @param mainBillNum 排产数据排产编号
     * @return 结果
     */
    @Override
    public int deleteProductApsScheduleDataByMainBillNum(String mainBillNum) {
        return productApsScheduleDataMapper.deleteProductApsScheduleDataByMainBillNum(mainBillNum);
    }
}
